package b面向对象.day1.demo3;

public class Person {
    String name;
    Account a;

    public void queryMoney(){
        System.out.println(name+"的余额为："+a.money+",帐户所属银行："+a.bankName);
    }

    void saveMoney(int m,Atm atm){
        System.out.println("atm机所属行："+atm.bankName+",帐户所属银行："+a.bankName);
        if(atm.bankName!=a.bankName){
            System.out.println("请找正确的atm机");
            return;
        }
        //如果程序能走到此处，说明atm可以使用
        a.money=a.money+m;
    }

    void getMoney(double m,Atm atm){
        //跨行
        if(a.bankName!=atm.bankName){
            m=1.01*m;
        }

        //判断余额是否够用
        if(a.money<m){
            System.out.println("余额不够");
            return;
        }

        //取钱
        a.money-=m;
    }

    void tranferMoney(int m,Atm atm,Account other){
        //1.判断当前帐户(a.bankname)跟atm所属行(atm.bankName)是否相等，如果相等则可以转帐，不相等则提示：本机不受理你的卡片
        //2.判断是否是跨行转帐：a.bankname==other.bankname,相等则非跨行，不扣除手续费，跨行则扣除1%手续费用
        //3.判断余额是否够用，并转帐
        if(this.a.bankName!=atm.bankName){
            System.out.println(atm.bankName+"atm机不能受理你的卡片！");
            return;
        }
        //找对了atm机
        //用来计算要扣除多少钱
        double tmp=m;
        if(a.bankName!=other.bankName){//跨行
            tmp=1.01*m;
        }

        //判断所剩余的余额是否够用
        if(a.money<tmp){
            System.out.println("钱不够转帐用！");
            return;
        }
        //能走到此处，说明钱够用
        a.money-=tmp;
        other.money+=m;
    }
}
